Identity Management in Internet of Things with Blockchain

229

by not revealing the accounts involved in them using ZK-SNARKs proofs. The

transactions are performed just like in the Bitcoin blockchain with the only difference

that instead of logging accounts for the sender and the receiver of Bitcoins, the

respective ZKP proofs are logged in the blocks. These proofs intent to persuade

verifiers that the input and the output values sums are equal in UTXOs, the sender

of a Bitcoin amount owns the private spending keys and that the transaction cannot

be modified by anyone but those who participate in it [38].

4.1.4

ZKP Identity and Authentication Adoptions in IoT

The implementation of ZKPs in IoT is a matter rather difficult to be handled due

to the low computational performance of low-end / edge devices such as sensors or

actuators. Cryptographic computations are not simple and demand a small amount

of core processing speed, which could be proved to be too high for such a device.

This is why many of the solutions and algorithms which implicate ZKP and IoT

for privacy and identification focus on the low computational need of generating a

ZKP. Table 2 summarizes four ZKP-based solutions which have been tested in IoT

environments and will be analyzed in this section.

The ZK-SNARKs can offer the potential of low computational need due to their

“succinct” characteristic. In [39], the authors propose an architecture that utilizes

ZK-SNARKs for producing VCs. However, their solution focuses on the network

provenance of an IoT system and not on the authentication of low-end devices, while

the performance tests are run using the Ethereum platform and a personal computer

with considerably higher processing power.

In [40], a novel protocol named Zero-Knowledge Proof of Location (zk-Pol) is

presented. Proof-of-Location is a technique where a user must provide a proof that

he/she is located on a specific geographical area which is correlated to certain access

points. The zk-Pol protocol offers security for IoT by leveraging the same technique

and additionally maintains privacy by withholding the information of location using

ZKPs. However, once again this protocol is focused on the users of an IoT system

and not the edge devices, although the metrics of the experimental performance are

rather efficient.

Finally, there is one type of ZKPs which is more suitable for IoT systems. They

are called graph-based ZKP methods and their computations involve graph theory

Table 2 Brief comparison of

ZKP protocols for IoT

authentication

Computational

need

Data overhead

Point of

application

ZK-Snarks

Low

Medium

Gateways

zk-Pol

Medium

Medium

Users’

interface

M-ZKP

Low

High

Edge

M-ZAS

Low

Low

Edge